// 完全背包 二维
for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= m; j ++) {
        f[i][j] = f[i - 1][j];
        if (j >= v[i]) f[i][j] = max(f[i][j], f[i][j - v[i]] + w[i]);
    }
}

// 完全背包 一维优化
for (int i = 1; i <= n; i++) {
    for (int j = v[i]; j <= m; j ++) {
        f[j] = max(f[j], f[j - v[i]] + w[i]);
    }
}
